Field of the Disclosure
This Application can relate to push pull data collection, and other matters. For example, this Application can include information relating to push pull data collection in a distributed network monitoring environment.
Other and further possibilities are described herein.
Related Art
One problem that has arisen, particularly in the field of network monitoring, is that some network devices will provide status data on their own initiative (or for an extended period of time, after having been asked to do so), such as routers in a distributed network monitoring environment. For example, at least some routers in a distributed network monitoring environment will, upon request, provide status data periodically, such as each second, to the requesting device. For example, that status data can take the form of message packets indicating the amount of network traffic they have transferred from one endpoint to another in a selected time frame. In contrast, other network devices will generally only provide status data when explicitly requested to do so, such as in the form of a message packet requesting that status data. For example, at least some commercially available virtual machines (VM's) will provide status data only when requested, and will only provide that status data in the form of a message packet either (1) providing raw data, such as a count of access requests to data storage made by that virtual machine, or (2) providing a summary of information, such as an average of the number of access requests to data storage, but for a relatively longer time than routers or other network devices might provide.
This can present multiple problems for monitoring devices in the distributed network monitoring environment.                First, when a monitoring device receives information indicating status data for different amounts of time for distinct network devices, the monitoring device might have difficulty reconciling, within the meaning of the distributed network monitoring environment, the status data provided by a first device with status data provided by a second device.        Second, when a monitoring device receives information indicating differing types of status data for distinct network devices, that monitoring device might have to determine for itself meaningful and reconcilable status data, within the meaning of the distributed network monitoring environment, from the status data provided by the first device (in a first format) and the status data provided by a second device (in a second format).        Third, when a monitoring device requests status data from a particular network device, either the monitoring device or the particular network device, or both, might be unable to handle the request within a sufficiently short time duration that the status data can still be included with other status data in a meaningful network monitoring report, within the meaning of the distributed network monitoring environment.        Fourth, when a monitoring device requests status data from a particular network device, either the monitoring device or the particular network device, or both, might be unable to handle their other tasks within a relatively reasonable time duration, with the effect that the request for status data to the particular network device, or the response from the particular network device, might degrade the ability of that network device within the distributed network monitoring environment.        
One possibility is sometimes referred to as “virtual infrastructure operations management.” The possibility can provide that virtual machines implemented at the network device are each outfitted with their own local monitoring elements. Those local monitoring elements might be disposed to measure resource utilization metrics, to report (post mortem, that is, after the fact) any errors discovered about performance of the network device or its virtual machines, or to perform capacity management. While this possibility might have the capability of performing these functions at the network device, with the effect that the monitoring device is not burdened with those functions, the possibility can be subject to several drawbacks.                One drawback is that the local monitoring elements cannot conveniently or easily be disposed to obtain information from more than one “silo,” that is, information with respect to a function performed by the network device. Thus, the push data and the pull data cannot conveniently or easily be coordinated to provide a unitary in-order time record. Moreover, status data in differing formats or embodying differing concepts would have to be collated by each individual network device's local monitoring elements, with the strong probability that differences or errors would creep into the implementation of those local monitoring elements.        Another drawback is that the network device's local monitoring element cannot conveniently or easily be disposed to be coordinated with status data with respect to any other network device. For example, a virtual machine operating on a server might be able to provide status data its own operation, but it would not be able to coordinate its own status data with another network device, such as a data storage element. Moreover, a local monitoring element for a virtual machine operating on a server would not be able to conveniently or easily manipulate status data in another format, such as status data from another network device.        
Another possibility might be to install a reporting element, such as a software program including instructions capable of being interpreted by the network device, or another computing device accessible to the network device, to collect status data and send that information to one or more monitoring devices, in a manner convenient to those monitoring devices. While this possibility might have the capability of ameliorating difficulties the monitoring devices might have in processing status data they receive from network devices, the possibility can be subject to several drawbacks.                One drawback is that the reporting element might be incompatible with some other element of the network device, whether hardware, software, or otherwise. For example, if the reporting element relies on a particular aspect of the network device's operating system, or of a guest operating system in a virtual machine in the network device, there is always a chance that any upgrades or other changes in one or more of those operating systems will cause the reporting element to perform improperly, or vice versa.        
Another drawback is that, for these and other reasons, historically, operators of network devices have been substantially hostile to such reporting elements.